package com.wing.home.dao;

import com.wing.home.entity.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 主页
 *
 * @author xiayang
 */
@Mapper
public interface HomeDao {

    /**
     * 采购趋势-按数量统计
     *
     * @param params
     * @return
     */
    List<PurchaseTrendNumber> purchaseTrendNumTotal(@Param("params") Map<String, Object> params);

    /**
     * 采购趋势-按金额统计
     *
     * @param params
     * @return
     */
    List<PurchaseTrendAmount> purchaseTrendAmountTotal(@Param("params") Map<String, Object> params);

    /**
     * 仓库统计-库存总量
     *
     * @param params
     * @return
     */
    Integer warehouseTotalByInventory(@Param("params") Map<String, Object> params);

    /**
     * 仓库统计-物料数量
     *
     * @param params
     * @return
     */
    Integer warehouseTotalByMaterial(@Param("params") Map<String, Object> params);

    /**
     * 仓库统计-出入库统计
     *
     * @param params
     * @return
     */
    Integer warehouseTotalByInOut(@Param("params") Map<String, Object> params);

    /**
     * 库存出入库统计
     *
     * @param params
     * @return
     */
    List<InventoryInOutTotal> inventoryInOutTotal(@Param("params") Map<String, Object> params);

    /**
     * 出入库物料排行
     *
     * @param params
     * @return
     */
    List<InOutStorageMaterialTop> inOutStorageMaterialTop(@Param("params") Map<String, Object> params);

    /**
     * 出入库类型排行
     *
     * @param params
     * @return
     */
    List<InOutStorageTypeTop> inOutStorageTypeTop(@Param("params") Map<String, Object> params);

    /**
     * 物料类别统计
     *
     * @param params
     * @return
     */
    List<ProductTypeTotal> productTypeTotal(@Param("params") Map<String, Object> params);

    /**
     * 仓库类型统计
     *
     * @param params
     * @return
     */
    List<WarehouseTypeTotal> warehouseTypeTotal(@Param("params") Map<String, Object> params);

}
